<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns:u="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:t="http://com.ss.stockmanager/jsf"
	xmlns:p="http://primefaces.org/ui" xmlns="http://www.w3.org/1999/xhtml">

<body>
	<u:composition template="/pages/layout/pageLayout.xhtml">
		<u:define name="body">
			<h:form id="form">
				<p:panel id="panelFiltro" header="#{msgs.common_filtros}"
					rendered="#{!stockController.addEdit}">
					<h:panelGrid columns="8">

						<h:outputText value="Producto" />
						<p:autoComplete id="productoAC"
							disabled="#{stockController.productoSelected}"
							value="#{stockController.producto}"
							completeMethod="#{stockController.completeProducto}"
							var="producto" itemLabel="#{producto.detalle}"
							itemValue="#{producto}" converter="productoConverter"
							maxResults="10" size="50">
							<p:ajax event="itemSelect"
								listener="#{stockController.productoSelectChange}"
								update="productoAC,nombreProducto,deseleccinarLink" />
						</p:autoComplete>
						<h:panelGroup>
							<h:outputText id="nombreProducto"
								value="#{stockController.producto.detalle}" />
							<p:commandLink id="deseleccinarLink"
								disabled="#{!stockController.productoSelected}"
								actionListener="#{stockController.deselecionarProducto}"
								update="productoAC,nombreProducto,deseleccinarLink,:form:messages"
								process="@this">
								<h:graphicImage url="/resources/images/delete.gif"
									title="Deseleccionar" style="border:0px" />
							</p:commandLink>
						</h:panelGroup>

						<h:outputText value="Depósito" />
						<p:selectOneMenu id="comboDeposito"
							value="#{stockController.stockQuery.depositoID}">
							<f:selectItem itemLabel="#{msgs.common_todos}" itemValue="" />
							<f:selectItems value="#{stockController.listaDeposito}"
								var="deposito" itemValue="#{deposito.ID}"
								itemLabel="#{deposito.nombre}" />
						</p:selectOneMenu>

						<h:outputText value="Familia" />
						<p:selectOneMenu id="comboFamilia"
							value="#{stockController.stockQuery.familiaID}">
							<f:selectItem itemLabel="#{msgs.common_todos}" itemValue="" />
							<f:selectItems value="#{stockController.listaFamilia}"
								var="familia" itemValue="#{familia.id}"
								itemLabel="#{familia.descripcion}" />
						</p:selectOneMenu>

						<p:commandButton value="Consultar"
							actionListener="#{stockController.query}" update="dataTable">
						</p:commandButton>
					</h:panelGrid>
				</p:panel>

				<h:outputText value="&#160;" />

				<p:growl id="messages" life="5000" />
				<p:dataTable id="dataTable" var="stock"
					value="#{stockController.lazyDM}" paginator="true" rows="10"
					paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
					rowsPerPageTemplate="10,15,20"
					rendered="#{!stockController.addEdit}"
					emptyMessage="No se encontraron registros" dynamic="true"
					lazy="true">

					<p:ajax event="rowToggle" listener="#{stockController.onRowToggle}" />

					<f:facet name="header">
						<h:outputText value="#{msgs.admStock_title}" />
					</f:facet>

					<p:column style="width:16px">
						<p:rowToggler />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="Producto" />
						</f:facet>
						<h:outputText value="#{stock.producto.detalle}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="Familia" />
						</f:facet>
						<h:outputText value="#{stock.producto.familia.descripcion}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="Stock minimo" />
						</f:facet>
						<h:outputText value="#{stock.producto.stockMinimo}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="Cantidad en stock" />
						</f:facet>
						<h:outputText value="#{stock.cantidad}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="Deposito" />
						</f:facet>
						<h:outputText value="#{stock.deposito.nombre}"
							rendered="#{!(stock.deposito eq null)}" />
						<h:outputText value="#{msgs.common_central}"
							rendered="#{(stock.deposito eq null)}" />
					</p:column>

					<p:column>
						<f:facet name="header">
							<h:outputText value="#{msgs.admStock_dueño}" />
						</f:facet>
						<h:outputText value="#{stock.cliente.nombre}"
							rendered="#{!(stock.cliente eq null)}" />
						<h:outputText value="#{msgs.common_central}"
							rendered="#{(stock.cliente eq null)}" />
					</p:column>

					<p:rowExpansion>
						<p:dataTable id="dataTableMovimientos" var="model"
							value="#{stockController.lazyMovimientosDM}" paginator="true"
							rows="10"
							paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
							rowsPerPageTemplate="10,15,20"
							emptyMessage="No se encontraron registros" dynamic="true"
							lazy="true">

							<f:facet name="header">
								<h:outputText value="#{msgs.admMovimientoStock_title}" />
							</f:facet>

							<p:column>
								<f:facet name="header">
									<h:outputText value="#{msgs.admMovimientoStock_fecha}" />
								</f:facet>
								<h:outputText value="#{model.fecha}">
									<f:convertDateTime pattern="#{msgs.common_inputDateFormat}"
										timeZone="#{msgs.common_timeZone}" />
								</h:outputText>
							</p:column>

							<p:column>
								<f:facet name="header">
									<h:outputText value="#{msgs.admMovimientoStock_tipo}" />
								</f:facet>
								<h:outputText value="#{model.tipoMovimientoStock}" />
							</p:column>

							<p:column>
								<f:facet name="header">
									<h:outputText value="#{msgs.admMovimientoStock_tipoManual}" />
								</f:facet>
								<h:outputText value="#{model.tipoMovimientoManual}" />
							</p:column>

							<p:column>
								<f:facet name="header">
									<h:outputText value="#{msgs.admMovimientoStock_producto}" />
								</f:facet>
								<h:outputText value="#{model.producto.detalle}" />
							</p:column>

							<p:column>
								<f:facet name="header">
									<h:outputText value="#{msgs.admMovimientoStock_cantidad}" />
								</f:facet>
								<h:outputText value="#{model.cantidad}" />
							</p:column>

							<p:column>
								<f:facet name="header">
									<h:outputText value="#{msgs.admMovimientoStock_depositoOrigen}" />
								</f:facet>
								<h:outputText value="#{model.depositoOrigen.nombre}"
									rendered="#{!(model.depositoOrigen eq null)}" />
								<h:outputText value=""
									rendered="#{(model.depositoOrigen eq null)}" />
							</p:column>

							<p:column>
								<f:facet name="header">
									<h:outputText
										value="#{msgs.admMovimientoStock_depositoDestino}" />
								</f:facet>
								<h:outputText value="#{model.depositoDestino.nombre}" />
							</p:column>

							<p:column>
								<f:facet name="header">
									<h:outputText value="#{msgs.admMovimientoStock_observaciones}" />
								</f:facet>
								<h:outputText value="#{model.observaciones}" />
							</p:column>

							<p:column>
								<f:facet name="header">
									<h:outputText value="#{msgs.admMovimientoStock_usuario}" />
								</f:facet>
								<h:outputText value="#{model.usuario.usuario}" />
							</p:column>

						</p:dataTable>
					</p:rowExpansion>

				</p:dataTable>

			</h:form>

		</u:define>
	</u:composition>
</body>
</html>